package someTestExcemple.collectionAndMap.collection.list;

/**
 * CopyOnWriteArrayList 是 Java 的一个线程安全的动态数组实现，属于 java.util.concurrent 包。
 *
 * 它通过写时复制机制，即在每次修改（写入）操作时，进行加锁，并复制原始数组的内容来保证线程安全。
 *
 * 由于写操作涉及复制整个数组，所以它的写操作开销较大，但读取操作则完全无锁。这使得 CopyOnWriteArrayList 适合于读多写少的场景。
 */


/**
 * Collections.synchronizedList：
 * 是一个包装方法，可以将任何 List 转换为线程安全的版本，
 * 它会对每个访问方法（如 get, set, add, remove）进行同步（加 synchronized 锁），从而保证线程安全。
 *
 * 优点：
 *
 * 方便：简单一个方法就可以将 List 变为线程安全版本，非常方便。
 * 缺点：
 *
 * 并发低：读写操作都需要加锁，高并发场景下性能不高。
 * Collections.synchronizedList 适用于简单将 List 转为线程安全版本临时使用的场景。特定的场景还需使用并发度高的 JUC 类。
 */
public class CopyOnWriteArrayListTest {
}
